home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / glass / glass.lha / GLASS / dtm / Makefile < prev    next >
Makefile  |  1991-06-18  |  6KB  |  255 lines

  1. # makefile
  2.  
  3. VERSION = 1
  4.  
  5. DOC    =
  6.  
  7. TEST =
  8.  
  9. PROGS   = dtm
  10.  
  11. SKELFILES = make.local
  12.  
  13. MAKEFILE = Makefile
  14.  
  15. LINKER = cc
  16.  
  17. TM = tm
  18.  
  19. JUNK = tmp core makelog tags lint \
  20.        testout Xdtm Xuetm Xutm Xextm
  21.  
  22. DISTOTHERS = dtm_atoms.c edtm_atoms.c
  23.  
  24. DISTFILES = $(DISTSRCS) $(DISTHDRS) $(DOC) $(MAKEFILE) $(TMFILES) \
  25.         $(DISTOTHERS) $(TEST)
  26.  
  27. CFLAGS = -I$(IDIR) -D$(SYS) $(SYSCFLAGS) -g
  28.  
  29. LINTFLAGS = -I$(IDIR) -D$(SYS)
  30.  
  31. LIBS = $(LDIR)/libcvr.a $(LDIR)/libtmc.a $(CLIBLOC)
  32.  
  33. .SUFFIXES:
  34. .SUFFIXES: .out .o .c .h .e .r .f .y .l .s .p .ht .ct
  35.  
  36. #when entering make do a make all 
  37. default: all
  38.  
  39. #++ make module local start, do NOT touch this line. ++
  40. # Installation dependent make variables for riet on Orion.
  41.  
  42. # full path of the ESPRIT environment
  43. ESPRITDIR = /home1/forfun
  44.  
  45. #  BDIR     : bin directory
  46. BDIR = $(ESPRITDIR)/bin
  47.  
  48. #  IDIR     : include directory
  49. IDIR = $(ESPRITDIR)/include
  50.  
  51. #  LDIR     : library directory
  52. LDIR = $(ESPRITDIR)/lib
  53.  
  54. FULLDS = $(ESPRITDIR)/ds/fullglass.ds
  55. KERNDS = $(ESPRITDIR)/ds/kernglass.ds
  56.  
  57. NFULLDS = $(ESPRITDIR)/ds/nfullgl.ds
  58. NKERNDS = $(ESPRITDIR)/ds/nkerngl.ds
  59.  
  60. #  HOSTNAME : name of installation machine.
  61. HOSTNAME=phoibos
  62.  
  63. # SYS     : name of operating system or machine type
  64. #     BSD    For generic BSD systems
  65. #     HPUX    For all HP-UX systems
  66. #     SUN    For all SUN systems
  67. #     APOLLO    For all Apollo systems
  68. SYS = SUN
  69.  
  70. # CLIBLOC : required C libraries
  71. CLIBLOC =
  72.  
  73. LINTLIBLOC =
  74.  
  75. PASLIBLOC =
  76.  
  77. # CBADADR : address that will cause a core-dump if read or written.
  78. CBADADR = 0
  79.  
  80. SYSLINTFLAGS = -hac
  81. SYSCFLAGS =
  82. SYSCPROFFLAGS =
  83. SYSCDBUGFLAGS =
  84. SYSPFLAGS =
  85.  
  86. # Collection of host dependent make rules.
  87.  
  88. ### libinstall ###
  89. # MODULE    - module to install
  90. libinstall:
  91.     cp $(MODULE) $(LDIR)/$(MODULE)
  92.  
  93. ### includeinstall ###
  94. # MODULE    - module to install
  95. includeinstall:
  96.     cp $(MODULE) $(IDIR)/$(MODULE)
  97.  
  98. ### maninstall ###
  99. # MAN        - manual page to install
  100. maninstall:
  101.     cp $(MAN) /usr/man/manl
  102.  
  103. ### bininstall ###
  104. # MODULE    - module to install
  105. bininstall:
  106.     cp $(MODULE) $(BDIR)/$(MODULE)
  107.     strip $(BDIR)/$(MODULE)
  108.  
  109. ### arlibinstall ###
  110. # MODULE    - module to install
  111. arlibinstall:
  112.     cp $(MODULE) $(LDIR)/$(MODULE)
  113.     ranlib $(LDIR)/$(MODULE)
  114. #++ make module local end, do NOT touch this line. ++
  115.  
  116. LINTLIBS =  $(LDIR)/llib-lcvr.ln $(LDIR)/llib-ltmc.ln $(LINTLIBLOC)
  117.  
  118. # .h files dtmerated from tm modules
  119. TMHDRS          = tmcode.h 
  120.  
  121. HDRS          = tmcode.h \
  122.         dtmconfig.h \
  123.         dtmconst.h \
  124.         utils.h \
  125.         codestorage.h \
  126.         typecache.h
  127.  
  128. OBJS         = tmcode.o utils.o dtm.o codestorage.o typecache.o
  129.  
  130. # .c files dtmerated from tm modules
  131. TMSRCS        = tmcode.c
  132.  
  133. SRCS          = dtm.c tmcode.c utils.c codestorage.c typecache.c
  134.  
  135. # distributed tm source files
  136. TMFILES = dtmconfig.t tmcode.ct tmcode.ht
  137.  
  138. # distributed .h files
  139. DISTHDRS      = dtmconfig.h \
  140.         dtmconst.h \
  141.         utils.h \
  142.         codestorage.h
  143.  
  144. # distributed .c files
  145. DISTSRCS      = dtm.c utils.c codestorage.c
  146.  
  147. help :
  148.     @echo " Possible make targets:"
  149.     @echo "all        Create local running programs."
  150.     @echo "clean        Free disk space."
  151.     @echo "distfiles    List distribution files."
  152.     @echo "install        Install relevant files."
  153.     @echo "setup        Adapt sources to local situation."
  154.     @echo "test        Run tests."
  155.  
  156. all    : $(PROGS)
  157.  
  158. dtm: $(OBJS)
  159.     $(LINKER) $(LDFLAGS) $(OBJS) $(LIBS) -o dtm
  160.  
  161. # make rules for testing
  162. test:
  163.     @echo 'Sorry no testing available'
  164.  
  165. # run program and check output
  166.  
  167. install:  dtm scripts 
  168.     make bininstall 'MODULE=dtm'
  169.     make includeinstall 'MODULE=dtm_atoms.c'
  170.     make includeinstall 'MODULE=edtm_atoms.c'
  171.     make includeinstall 'MODULE=DtmMain.c'
  172.     cp Xdtm Xextm Xuetm Xutm $(BDIR)
  173.  
  174. scripts: Xdtm Xuetm Xutm Xextm
  175.  
  176. Xdtm:
  177.     echo 'cat $$1.sf | uflat | dtm -i > $$1.c' > Xdtm
  178.     echo 'echo $(CC): compiling...' >> Xdtm
  179.     echo '$(CC) -O -I$(IDIR) -c $$1.c' >> Xdtm
  180.     echo 'echo $(CC): linking...' >> Xdtm
  181.     echo '$(CC) -L$(LDIR) $$1.o -lxwa -lXaw -lXmu -lXt -lX11 -o X$$1' >>Xdtm
  182.     echo 'echo executing...' >> Xdtm
  183.     echo 'X$$1' >> Xdtm
  184.     chmod 755 Xdtm
  185.  
  186. Xextm:
  187.     echo 'cat $$1.sf | uflat | dtm > $$1.c' > Xextm
  188.     echo 'echo $(CC): compiling...' >> Xextm
  189.     echo '$(CC) -O -I$(IDIR) -c $$1.c' >> Xextm
  190.     echo 'echo $(CC): linking...' >> Xextm
  191.     echo '$(CC) -L$(LDIR) $$1.o -lxwa -lXaw -lXmu -lXt -lX11 -o X$$1'>>Xextm
  192.     echo 'echo executing...' >> Xextm
  193.     echo 'X$$1' >> Xextm
  194.     chmod 755 Xextm
  195.  
  196. Xuetm:
  197.     echo 'cat $$1.sf | uflat | dtm -u -e > $$1.c' > Xuetm
  198.     echo 'echo $(CC): compiling...' >> Xuetm
  199.     echo '$(CC) -O -I$(IDIR) -c $$1.c' >> Xuetm
  200.     echo 'echo $(CC): linking...' >> Xuetm
  201.     echo '$(CC) -L$(LDIR) $$1.o -lxwa -lXaw -lXmu -lXt -lX11 -o X$$1'>>Xuetm
  202.     echo 'echo executing...' >> Xuetm
  203.     echo 'X$$1' >> Xuetm
  204.     chmod 755 Xuetm
  205.  
  206. Xutm:
  207.     echo 'cat $$1.sf | uflat | dtm -u > $$1.c' > Xutm
  208.     echo 'echo $(CC): compiling...' >> Xutm
  209.     echo '$(CC) -O -I$(IDIR) -c $$1.c' >> Xutm
  210.     echo 'echo $(CC): linking...' >> Xutm
  211.     echo '$(CC) -L$(LDIR) $$1.o -lxwa -lXaw -lXmu -lXt -lX11 -o X$$1' >>Xutm
  212.     echo 'echo executing...' >> Xutm
  213.     echo 'X$$1' >> Xutm
  214.     chmod 755 Xutm
  215.  
  216.  
  217. clean:
  218.     rm -f $(OBJS) $(TMSRCS) $(TMHDRS) $(JUNK) $(PROGS)
  219.  
  220. distfiles:
  221.     @echo $(DISTFILES) | tr ' ' '\012'
  222.  
  223. setup:
  224.     modmake local ../make.local $(MAKEFILE)
  225.  
  226. # Non-standard make rules
  227.  
  228. index:
  229.     ctags -wx $(HDRS) $(SRCS)
  230.  
  231. tags: $(HDRS) $(SRCS)
  232.     ctags $(HDRS) $(SRCS)
  233.  
  234. depend: $(TMSRCS) $(TMHDRS)
  235.     mkmf -I$(IDIR) -f $(MAKEFILE)
  236.  
  237. .ht.h:
  238.     $(TM) dtm.ds $< > $*.h
  239.  
  240. .ct.c:
  241.     $(TM) dtm.ds $< > $*.c
  242.  
  243. lint: $(SRCS) $(HDRS)
  244.     lint $(LINTFLAGS) $(SRCS) $(LINTLIBS) > lint
  245.  
  246. # Dependencies not detected by 'mkmf'
  247. $(TMHDRS) : dtm.ds dtmconfig.t
  248. $(TMSRCS) : dtm.ds dtmconfig.t
  249. ###
  250. dtm.o: dtmconst.h tmcode.h utils.h
  251. tmcode.o: dtmconfig.h tmcode.h dtmconst.h
  252. utils.o: dtmconst.h tmcode.h utils.h
  253. codestorage.o: codestorage.h
  254. typecache.o: dtmconst.h tmcode.h utils.h
  255.